import { appVersion } from '../../../utils/config';

// pages/user/profile/profile.js
Page({
  data: {
    // sessionKey: null, // 存储从服务器获取的session_key
    version: "" as string
  },

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad() {
    console.log("pages/user/profile/profile onLoad");
    this.setData({
      version: appVersion
    });
  },

  onGetUserInfo(e: any) {
    const app = getApp<IAppOption>();

    wx.getUserProfile({
      desc: '用于完善用户信息',
      success: (res) => {
        const { encryptedData, iv, userInfo } = res;
        // 更新页面显示的用户信息
        this.setData({
          userInfo: userInfo
        });
        
        // 打印获取到的数据
        console.log("用户信息:", userInfo);
        console.log("加密数据:", encryptedData);
        console.log("IV:", iv);
        
        wx.request({
          url: app.buildApiUrl('/api/user/userinfo'), // 临时改用HTTP测试
          method: 'POST',
          header: { 'Authorization': wx.getStorageSync('token') },
          data: { encryptedData, iv },
          success: (resp) => {
            console.log("解密成功:", resp.data);
            wx.showToast({
              title: '授权成功',
              icon: 'success'
            });
          },
          fail: (err) => {
            console.error('请求失败详情:', err);
            wx.showToast({
              title: '授权失败',
              icon: 'error'
            });
          },
          complete: (res) => {
            console.log("请求完成:", res);
          }
        });
      },
      fail: (err) => {
        console.error('获取用户信息失败:', err);
        wx.showToast({
          title: '授权取消',
          icon: 'none'
        });
      }
    });
  },

  handleLoginSuccess(data: any) {
    console.log('登录成功:', data);
    wx.setStorageSync('token', data.token);
    wx.setStorageSync('unionid', data.unionid);
  },

  feedback() {
    wx.navigateTo({
      url: '/pages/user/feedback/feedback'
    })
  },

  shareApp() {
    wx.showShareMenu({
      withShareTicket: true,
      menus: ['shareAppMessage', 'shareTimeline']
    })
    // 实际分享操作（用户点击菜单后会触发 onShareAppMessage）
    wx.showToast({
      title: '请点击右上角分享',
      icon: 'none',
      duration: 2000
    })
  },

  // 分享配置
  onShareAppMessage() {
    return {
      title: '软考真经 - 信息系统项目管理师必备题库',
      path: '/pages/index/index',
      imageUrl: '/images/share-cover.jpg'
    }
  },

  // 分享到朋友圈
  onShareTimeline() {
    return {
      title: '软考通关神器！信息系统项目管理师真题库',
      query: 'from=timeline',
      imageUrl: '/images/share-cover.jpg'
    }
  }
})